TestNG ফ্রেমওয়ার্কে <include> এবং <exclude> ট্যাগ ব্যবহার করে নির্দিষ্ট টেস্ট মেথড চালানো বা বাদ দেওয়া সম্ভব। এটি বড় প্রজেক্টে টেস্ট কেস ফিল্টার করার একটি কার্যকর উপায়।
<include> এবং <exclude> এর ব্যবহার
<include> ট্যাগ:
এটি নির্দিষ্ট টেস্ট মেথড চালানোর জন্য ব্যবহৃত হয়।
<exclude> ট্যাগ:
এটি নির্দিষ্ট টেস্ট মেথড টেস্ট এক্সিকিউশন থেকে বাদ দিতে ব্যবহৃত হয়।
উদাহরণ: <include> এবং <exclude> ট্যাগ ব্যবহার
নিচে একটি উদাহরণ দেখানো হলো যেখানে টেস্ট ক্লাসের মধ্যে কিছু মেথড চালানো এবং কিছু বাদ দেওয়া হয়েছে।
TestNG টেস্ট ক্লাস
import org.testng.annotations.Test;
public class SampleTest {
@Test
public void testMethodOne() {
System.out.println("Executing Test Method One");
}
@Test
public void testMethodTwo() {
System.out.println("Executing Test Method Two");
}
@Test
public void testMethodThree() {
System.out.println("Executing Test Method Three");
}
}
TestNG XML ফাইল
<!DOCTYPE suite SYSTEM "https://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="IncludeExcludeExample">
<classes>
<class name="com.example.tests.SampleTest">
<methods>
<include name="testMethodOne" />
<include name="testMethodThree" />
<exclude name="testMethodTwo" />
</methods>
</class>
</classes>
</test>
</suite>
এক্সিকিউশন ব্যাখ্যা
উপরের testng.xml ফাইল অনুসারে:
testMethodOneএবংtestMethodThreeচালানো হবে কারণ এগুলো<include>ট্যাগে রয়েছে।testMethodTwoচালানো হবে না কারণ এটি<exclude>ট্যাগে রয়েছে।
শুধু <include> ব্যবহার
যদি আপনি শুধু কিছু মেথড চালাতে চান, তাহলে শুধুমাত্র <include> ট্যাগ ব্যবহার করতে পারেন।
<methods>
<include name="testMethodOne" />
<include name="testMethodThree" />
</methods>
শুধু <exclude> ব্যবহার
যদি আপনি কিছু নির্দিষ্ট মেথড বাদ দিতে চান, তাহলে শুধুমাত্র <exclude> ট্যাগ ব্যবহার করতে পারেন।
<methods>
<exclude name="testMethodTwo" />
</methods>
গ্রুপিং এর সাথে <include> এবং <exclude> ব্যবহার
TestNG-তে গ্রুপিং এর মাধ্যমেও নির্দিষ্ট মেথড চালানো বা বাদ দেওয়া যায়।
টেস্ট ক্লাস:
import org.testng.annotations.Test;
public class GroupedTest {
@Test(groups = {"smoke"})
public void smokeTest() {
System.out.println("Executing Smoke Test");
}
@Test(groups = {"regression"})
public void regressionTest() {
System.out.println("Executing Regression Test");
}
@Test(groups = {"smoke", "regression"})
public void mixedTest() {
System.out.println("Executing Mixed Test");
}
}
TestNG XML ফাইল:
<groups>
<run>
<include name="smoke" />
<exclude name="regression" />
</run>
</groups>
এক্সিকিউশন ব্যাখ্যা
smokeগ্রুপের মেথডগুলো চালানো হবে।regressionগ্রুপের মেথডগুলো চালানো হবে না, এমনকি সেগুলোsmokeএর সাথেও যুক্ত থাকলে।
উপকারিতা
- বড় প্রজেক্টে টেস্ট মেথড ফিল্টার করা সহজ হয়।
- অপ্রয়োজনীয় বা অস্থায়ী টেস্ট বাদ দিয়ে টেস্ট রান সময় কমানো যায়।
- নির্দিষ্ট টেস্ট কেসগুলোর উপর ফোকাস করার সুযোগ দেয়।
<include> এবং <exclude> ট্যাগ ব্যবহার করে TestNG-তে টেস্ট এক্সিকিউশন আরও বেশি নিয়ন্ত্রণযোগ্য এবং কার্যকর করা সম্ভব।
Read more